package com.taotao.letcode.test;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @Author: wangjin
 * @CreateTime: 2022-08-21  12:19
 * 给你字符串 s 和整数 k 。
 * <p>
 * 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。
 * <p>
 * 英文中的 元音字母 为（a, e, i, o, u）。
 * <p>
 *  
 * <p>
 * 示例 1：
 * <p>
 * 输入：s = "abciiidef", k = 3
 * 输出：3
 * 解释：子字符串 "iii" 包含 3 个元音字母。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/maximum-number-of-vowels-in-a-substring-of-given-length
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class NumberOfVowels {
    public static void main(String[] args) {
        String s = "abciiidef";
        String letter ="aeiou";
        int k = 3;
         int max=0;
        for (int i=0;i<s.length();i++){
            if(i+3 <=s.length()){
                int j=0;
                //获取截取的数据
                String interceptedData=s.substring(i,i+3);

                List<String> nameList= Stream.iterate(0, n->++n).limit(interceptedData.length()).map(n->""+interceptedData.charAt(n)).collect(Collectors.toList());
                for(String string:nameList){
                    //判断是否包含原因字母
                if(letter.contains(string)){
                    j++;
                }
                if(max<j){
                    max=j;
                }
                   // System.out.println("字符串:"+interceptedData+"，长度: "+max);
                }
            }
        }
        System.out.println("最大长度是:"+max);
    }
}
